/**
* BSD-style license; for more info see http://pmd.sourceforge.net/license.html
*/
package test.net.sourceforge.pmd.jaxen;
import junit.framework.TestCase;
import net.sourceforge.pmd.ast.SimpleNode;
import net.sourceforge.pmd.jaxen.Attribute;
import net.sourceforge.pmd.jaxen.AttributeAxisIterator;
import java.util.HashSet;
import java.util.Set;
public class AttributeAxisIteratorTest extends TestCase {
public void testBasicAttributes() {
Set names = new HashSet();
names.add("BeginLine");
names.add("EndLine");
names.add("BeginColumn");
names.add("EndColumn");
names.add("Discardable");
SimpleNode n = new SimpleNode(0);
n.testingOnly__setBeginColumn(1);
n.testingOnly__setBeginLine(1);
AttributeAxisIterator iter = new AttributeAxisIterator(n);
try {
Attribute a = (Attribute)iter.next();
assertTrue(names.contains(a.getName()));
a = (Attribute)iter.next();
assertTrue(names.contains(a.getName()));
a = (Attribute)iter.next();
assertTrue(names.contains(a.getName()));
a = (Attribute)iter.next();
assertTrue(names.contains(a.getName()));
} catch (UnsupportedOperationException e) {
// cool
}
}
public void testRemove() {
SimpleNode n = new SimpleNode(0);
n.testingOnly__setBeginColumn(1);
n.testingOnly__setBeginLine(1);
AttributeAxisIterator iter = new AttributeAxisIterator(n);
try {
iter.remove();
fail("Should have thrown an exception!");
} catch (UnsupportedOperationException e) {
// cool
}
}
}